import static java.lang.Math.max;

class Solution {
    public int findLargest(int[][] array) {
        int m = array.length;
        int n = array[0].length;

        int[][] result = new int[m][n];
        result[0][0] = array[0][0];
        for(int i=1;i<n;i++){
            result[0][i] = array[0][i]+result[0][i-1];
        }
        for(int i=1;i<m;i++){
            result[i][0] = array[i][0]+result[i-1][0];
        }

        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                result[i][j] = max(result[i-1][j], result[i][j-1]) + array[i][j];
            }
        }
        return result[m-1][n-1];
    }
}